/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package proyectovuelos;

import proyectovuelos.interfaces.ICliente;

/**
 *
 * @author Usuario
 */
public class ClienteImpl implements ICliente {
    

    private int idCliente;
    private String tipoCliente;
    private String nomCompleto;
    private int cedula;

    public void setCedula(int cedula) {
        this.cedula = cedula;
    }

    public int getCedula() {
        return cedula;
    }

    public int getidCliente() {
        return idCliente;
    }
    
    public void setidCliente(int idCliente) throws Exception{
       if (idCliente <= 0) {
            throw new Exception("El numero de Cliente debe ser mayor o igual a 0");
        }
        
        this.idCliente = idCliente;
    }

    public String getTipoCliente() {
        return tipoCliente;
    }

    public void setTipoCliente(String tipoCliente) {
        this.tipoCliente = tipoCliente;
    }
    

    public String getNomCompleto() {
        return nomCompleto;
    }

    public void setNomCompleto(String nomCompleto) throws Exception{
        if (nomCompleto.trim().equals("")) {
            throw new Exception("Esta seccion NO puede quedar sin completarse");
        }
        
        if (nomCompleto.length() > 20) {
            throw new Exception("El nombre no puede exceder los 50 caracteres de longitud");
        }
        this.nomCompleto = nomCompleto;
    }

   
    
    public ClienteImpl(int idCliente, String nomCompleto, String tipoCliente, int cedula) throws Exception {
       
        setNomCompleto(nomCompleto);
        setidCliente(idCliente);
        setTipoCliente(tipoCliente);
        setCedula(cedula);
    }
    
 
    
    @Override
    public String toString() {
        return "Numero de Cliente: " + getidCliente()+ ", Nombre Completo: " + getNomCompleto()+ ", Tipo de Cliente: " + getTipoCliente()+ ", Cedula de Cliente: " + getCedula();
    }
}
    
